 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

京东云解析OpenAPI接口
京东云解析OpenAPI接口

OpenAPI spec version: v2
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKDomainservice/DomainserviceExecutor.h>

@implementation DomainserviceClient

@synthesize userAgent = _userAgent;
@synthesize serviceName = _serviceName;
@synthesize version = _version;

-(void) addCustomerHeaderWithKey:(NSString*) key
                           value:(NSString*) value{
    if(![self customHeader])
    {
        self.customHeader = [[NSMutableDictionary alloc] init];
    }
    if(key && value)
    {
        [[self customHeader] setValue:value forKey:key];
    }
   
}

-(id)initWithGlobalConfig{
    if(![GlobalConfig credential])
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@"GlobalConfig credential not config" userInfo:nil];
        @throw e;
    }
    self.credential = [GlobalConfig credential];
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"domainservice.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 domainservice  v2";
    _serviceName = @"domainservice";
    _version = @"v2";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
         sdkEnvironment:(SDKEnvironment*)sdkEnvironment
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    
    if(!sdkEnvironment)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" sdkEnvironment can not null" userInfo:nil];
        @throw e;
    }else{
        self.sdkEnvironment = sdkEnvironment;
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 domainservice  v2";
    _serviceName = @"domainservice";
    _version = @"v2";
    self.contentType = @"application/json";
    return self;
}

-(id)initWithCredential:(Credential*)credential
{
    if(!credential)
    {
        NSException *e = [SDKArgumentNullException exceptionWithName:@"ArgumentNullException" reason:@" credential can not null" userInfo:nil];
        @throw e;
    }else{
        self.credential = credential;
    }
    if(![GlobalConfig sdkEnvironment])
    {
        self.sdkEnvironment = [[SDKEnvironment alloc] initWithEndPoint:@"domainservice.jdcloud-api.com"];
    }else
    {
        self.sdkEnvironment = [GlobalConfig sdkEnvironment];
    }
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 domainservice  v2";
    _serviceName = @"domainservice";
    _version = @"v2";
    self.contentType = @"application/json";
    return self;
}

-(id)init{
    self.httpRequestProtocol = @"https";
    _userAgent = @"JdCloudOCSdk 0.0.1 domainservice  v2";
    _serviceName = @"domainservice";
    _version = @"v2";
    self.contentType = @"application/json";
    return self;
}


/**
deleteUserViewIP sync request
@param deleteUserViewIPRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteUserViewIPResponse` the request response data model
*/
-(NSDictionary*) deleteUserViewIPSyncWithRequest:(DomainserviceDeleteUserViewIPRequest*) deleteUserViewIPRequest
{
DomainserviceDeleteUserViewIPExecutor* excutor = [[DomainserviceDeleteUserViewIPExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteUserViewIPRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteUserViewIPResponse* response = [[DomainserviceDeleteUserViewIPResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteUserViewIPResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteUserViewIPAsyncWithRequest:(DomainserviceDeleteUserViewIPRequest*) deleteUserViewIPRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDeleteUserViewIPResponse* _Nullable deleteUserViewIPResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDeleteUserViewIPExecutor* excutor = [[DomainserviceDeleteUserViewIPExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteUserViewIPRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteUserViewIPResponse* response = [[DomainserviceDeleteUserViewIPResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeDomainQueryCount sync request
@param describeDomainQueryCountRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeDomainQueryCountResponse` the request response data model
*/
-(NSDictionary*) describeDomainQueryCountSyncWithRequest:(DomainserviceDescribeDomainQueryCountRequest*) describeDomainQueryCountRequest
{
DomainserviceDescribeDomainQueryCountExecutor* excutor = [[DomainserviceDescribeDomainQueryCountExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeDomainQueryCountRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeDomainQueryCountResponse* response = [[DomainserviceDescribeDomainQueryCountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeDomainQueryCountResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeDomainQueryCountAsyncWithRequest:(DomainserviceDescribeDomainQueryCountRequest*) describeDomainQueryCountRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeDomainQueryCountResponse* _Nullable describeDomainQueryCountResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeDomainQueryCountExecutor* excutor = [[DomainserviceDescribeDomainQueryCountExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeDomainQueryCountRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeDomainQueryCountResponse* response = [[DomainserviceDescribeDomainQueryCountResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeDomainQueryTraffic sync request
@param describeDomainQueryTrafficRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeDomainQueryTrafficResponse` the request response data model
*/
-(NSDictionary*) describeDomainQueryTrafficSyncWithRequest:(DomainserviceDescribeDomainQueryTrafficRequest*) describeDomainQueryTrafficRequest
{
DomainserviceDescribeDomainQueryTrafficExecutor* excutor = [[DomainserviceDescribeDomainQueryTrafficExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeDomainQueryTrafficRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeDomainQueryTrafficResponse* response = [[DomainserviceDescribeDomainQueryTrafficResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeDomainQueryTrafficResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeDomainQueryTrafficAsyncWithRequest:(DomainserviceDescribeDomainQueryTrafficRequest*) describeDomainQueryTrafficRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeDomainQueryTrafficResponse* _Nullable describeDomainQueryTrafficResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeDomainQueryTrafficExecutor* excutor = [[DomainserviceDescribeDomainQueryTrafficExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeDomainQueryTrafficRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeDomainQueryTrafficResponse* response = [[DomainserviceDescribeDomainQueryTrafficResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
modifyMonitorStatus sync request
@param modifyMonitorStatusRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `modifyMonitorStatusResponse` the request response data model
*/
-(NSDictionary*) modifyMonitorStatusSyncWithRequest:(DomainserviceModifyMonitorStatusRequest*) modifyMonitorStatusRequest
{
DomainserviceModifyMonitorStatusExecutor* excutor = [[DomainserviceModifyMonitorStatusExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:modifyMonitorStatusRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyMonitorStatusResponse* response = [[DomainserviceModifyMonitorStatusResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"modifyMonitorStatusResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)modifyMonitorStatusAsyncWithRequest:(DomainserviceModifyMonitorStatusRequest*) modifyMonitorStatusRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceModifyMonitorStatusResponse* _Nullable modifyMonitorStatusResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceModifyMonitorStatusExecutor* excutor = [[DomainserviceModifyMonitorStatusExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:modifyMonitorStatusRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyMonitorStatusResponse* response = [[DomainserviceModifyMonitorStatusResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeActionLog sync request
@param describeActionLogRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeActionLogResponse` the request response data model
*/
-(NSDictionary*) describeActionLogSyncWithRequest:(DomainserviceDescribeActionLogRequest*) describeActionLogRequest
{
DomainserviceDescribeActionLogExecutor* excutor = [[DomainserviceDescribeActionLogExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeActionLogRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeActionLogResponse* response = [[DomainserviceDescribeActionLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeActionLogResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeActionLogAsyncWithRequest:(DomainserviceDescribeActionLogRequest*) describeActionLogRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeActionLogResponse* _Nullable describeActionLogResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeActionLogExecutor* excutor = [[DomainserviceDescribeActionLogExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeActionLogRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeActionLogResponse* response = [[DomainserviceDescribeActionLogResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createResourceRecord sync request
@param createResourceRecordRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createResourceRecordResponse` the request response data model
*/
-(NSDictionary*) createResourceRecordSyncWithRequest:(DomainserviceCreateResourceRecordRequest*) createResourceRecordRequest
{
DomainserviceCreateResourceRecordExecutor* excutor = [[DomainserviceCreateResourceRecordExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createResourceRecordRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateResourceRecordResponse* response = [[DomainserviceCreateResourceRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createResourceRecordResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createResourceRecordAsyncWithRequest:(DomainserviceCreateResourceRecordRequest*) createResourceRecordRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceCreateResourceRecordResponse* _Nullable createResourceRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceCreateResourceRecordExecutor* excutor = [[DomainserviceCreateResourceRecordExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createResourceRecordRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateResourceRecordResponse* response = [[DomainserviceCreateResourceRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
modifyDomain sync request
@param modifyDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `modifyDomainResponse` the request response data model
*/
-(NSDictionary*) modifyDomainSyncWithRequest:(DomainserviceModifyDomainRequest*) modifyDomainRequest
{
DomainserviceModifyDomainExecutor* excutor = [[DomainserviceModifyDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:modifyDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyDomainResponse* response = [[DomainserviceModifyDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"modifyDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)modifyDomainAsyncWithRequest:(DomainserviceModifyDomainRequest*) modifyDomainRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceModifyDomainResponse* _Nullable modifyDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceModifyDomainExecutor* excutor = [[DomainserviceModifyDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:modifyDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyDomainResponse* response = [[DomainserviceModifyDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
batchSetResourceRecords sync request
@param batchSetResourceRecordsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `batchSetResourceRecordsResponse` the request response data model
*/
-(NSDictionary*) batchSetResourceRecordsSyncWithRequest:(DomainserviceBatchSetResourceRecordsRequest*) batchSetResourceRecordsRequest
{
DomainserviceBatchSetResourceRecordsExecutor* excutor = [[DomainserviceBatchSetResourceRecordsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:batchSetResourceRecordsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceBatchSetResourceRecordsResponse* response = [[DomainserviceBatchSetResourceRecordsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"batchSetResourceRecordsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)batchSetResourceRecordsAsyncWithRequest:(DomainserviceBatchSetResourceRecordsRequest*) batchSetResourceRecordsRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceBatchSetResourceRecordsResponse* _Nullable batchSetResourceRecordsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceBatchSetResourceRecordsExecutor* excutor = [[DomainserviceBatchSetResourceRecordsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:batchSetResourceRecordsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceBatchSetResourceRecordsResponse* response = [[DomainserviceBatchSetResourceRecordsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeMonitorTarget sync request
@param describeMonitorTargetRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeMonitorTargetResponse` the request response data model
*/
-(NSDictionary*) describeMonitorTargetSyncWithRequest:(DomainserviceDescribeMonitorTargetRequest*) describeMonitorTargetRequest
{
DomainserviceDescribeMonitorTargetExecutor* excutor = [[DomainserviceDescribeMonitorTargetExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeMonitorTargetRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeMonitorTargetResponse* response = [[DomainserviceDescribeMonitorTargetResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeMonitorTargetResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeMonitorTargetAsyncWithRequest:(DomainserviceDescribeMonitorTargetRequest*) describeMonitorTargetRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeMonitorTargetResponse* _Nullable describeMonitorTargetResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeMonitorTargetExecutor* excutor = [[DomainserviceDescribeMonitorTargetExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeMonitorTargetRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeMonitorTargetResponse* response = [[DomainserviceDescribeMonitorTargetResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createMonitorTarget sync request
@param createMonitorTargetRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createMonitorTargetResponse` the request response data model
*/
-(NSDictionary*) createMonitorTargetSyncWithRequest:(DomainserviceCreateMonitorTargetRequest*) createMonitorTargetRequest
{
DomainserviceCreateMonitorTargetExecutor* excutor = [[DomainserviceCreateMonitorTargetExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createMonitorTargetRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateMonitorTargetResponse* response = [[DomainserviceCreateMonitorTargetResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createMonitorTargetResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createMonitorTargetAsyncWithRequest:(DomainserviceCreateMonitorTargetRequest*) createMonitorTargetRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceCreateMonitorTargetResponse* _Nullable createMonitorTargetResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceCreateMonitorTargetExecutor* excutor = [[DomainserviceCreateMonitorTargetExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createMonitorTargetRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateMonitorTargetResponse* response = [[DomainserviceCreateMonitorTargetResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createDomain sync request
@param createDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createDomainResponse` the request response data model
*/
-(NSDictionary*) createDomainSyncWithRequest:(DomainserviceCreateDomainRequest*) createDomainRequest
{
DomainserviceCreateDomainExecutor* excutor = [[DomainserviceCreateDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateDomainResponse* response = [[DomainserviceCreateDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createDomainAsyncWithRequest:(DomainserviceCreateDomainRequest*) createDomainRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceCreateDomainResponse* _Nullable createDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceCreateDomainExecutor* excutor = [[DomainserviceCreateDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateDomainResponse* response = [[DomainserviceCreateDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeUserViewIP sync request
@param describeUserViewIPRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeUserViewIPResponse` the request response data model
*/
-(NSDictionary*) describeUserViewIPSyncWithRequest:(DomainserviceDescribeUserViewIPRequest*) describeUserViewIPRequest
{
DomainserviceDescribeUserViewIPExecutor* excutor = [[DomainserviceDescribeUserViewIPExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeUserViewIPRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeUserViewIPResponse* response = [[DomainserviceDescribeUserViewIPResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeUserViewIPResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeUserViewIPAsyncWithRequest:(DomainserviceDescribeUserViewIPRequest*) describeUserViewIPRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeUserViewIPResponse* _Nullable describeUserViewIPResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeUserViewIPExecutor* excutor = [[DomainserviceDescribeUserViewIPExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeUserViewIPRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeUserViewIPResponse* response = [[DomainserviceDescribeUserViewIPResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
modifyResourceRecordStatus sync request
@param modifyResourceRecordStatusRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `modifyResourceRecordStatusResponse` the request response data model
*/
-(NSDictionary*) modifyResourceRecordStatusSyncWithRequest:(DomainserviceModifyResourceRecordStatusRequest*) modifyResourceRecordStatusRequest
{
DomainserviceModifyResourceRecordStatusExecutor* excutor = [[DomainserviceModifyResourceRecordStatusExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:modifyResourceRecordStatusRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyResourceRecordStatusResponse* response = [[DomainserviceModifyResourceRecordStatusResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"modifyResourceRecordStatusResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)modifyResourceRecordStatusAsyncWithRequest:(DomainserviceModifyResourceRecordStatusRequest*) modifyResourceRecordStatusRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceModifyResourceRecordStatusResponse* _Nullable modifyResourceRecordStatusResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceModifyResourceRecordStatusExecutor* excutor = [[DomainserviceModifyResourceRecordStatusExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:modifyResourceRecordStatusRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyResourceRecordStatusResponse* response = [[DomainserviceModifyResourceRecordStatusResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
modifyResourceRecord sync request
@param modifyResourceRecordRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `modifyResourceRecordResponse` the request response data model
*/
-(NSDictionary*) modifyResourceRecordSyncWithRequest:(DomainserviceModifyResourceRecordRequest*) modifyResourceRecordRequest
{
DomainserviceModifyResourceRecordExecutor* excutor = [[DomainserviceModifyResourceRecordExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:modifyResourceRecordRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyResourceRecordResponse* response = [[DomainserviceModifyResourceRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"modifyResourceRecordResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)modifyResourceRecordAsyncWithRequest:(DomainserviceModifyResourceRecordRequest*) modifyResourceRecordRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceModifyResourceRecordResponse* _Nullable modifyResourceRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceModifyResourceRecordExecutor* excutor = [[DomainserviceModifyResourceRecordExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:modifyResourceRecordRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyResourceRecordResponse* response = [[DomainserviceModifyResourceRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeDomains sync request
@param describeDomainsRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeDomainsResponse` the request response data model
*/
-(NSDictionary*) describeDomainsSyncWithRequest:(DomainserviceDescribeDomainsRequest*) describeDomainsRequest
{
DomainserviceDescribeDomainsExecutor* excutor = [[DomainserviceDescribeDomainsExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeDomainsRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeDomainsResponse* response = [[DomainserviceDescribeDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeDomainsResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeDomainsAsyncWithRequest:(DomainserviceDescribeDomainsRequest*) describeDomainsRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeDomainsResponse* _Nullable describeDomainsResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeDomainsExecutor* excutor = [[DomainserviceDescribeDomainsExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeDomainsRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeDomainsResponse* response = [[DomainserviceDescribeDomainsResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createMonitor sync request
@param createMonitorRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createMonitorResponse` the request response data model
*/
-(NSDictionary*) createMonitorSyncWithRequest:(DomainserviceCreateMonitorRequest*) createMonitorRequest
{
DomainserviceCreateMonitorExecutor* excutor = [[DomainserviceCreateMonitorExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createMonitorRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateMonitorResponse* response = [[DomainserviceCreateMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createMonitorResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createMonitorAsyncWithRequest:(DomainserviceCreateMonitorRequest*) createMonitorRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceCreateMonitorResponse* _Nullable createMonitorResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceCreateMonitorExecutor* excutor = [[DomainserviceCreateMonitorExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createMonitorRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateMonitorResponse* response = [[DomainserviceCreateMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createUserViewIP sync request
@param createUserViewIPRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createUserViewIPResponse` the request response data model
*/
-(NSDictionary*) createUserViewIPSyncWithRequest:(DomainserviceCreateUserViewIPRequest*) createUserViewIPRequest
{
DomainserviceCreateUserViewIPExecutor* excutor = [[DomainserviceCreateUserViewIPExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createUserViewIPRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateUserViewIPResponse* response = [[DomainserviceCreateUserViewIPResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createUserViewIPResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createUserViewIPAsyncWithRequest:(DomainserviceCreateUserViewIPRequest*) createUserViewIPRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceCreateUserViewIPResponse* _Nullable createUserViewIPResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceCreateUserViewIPExecutor* excutor = [[DomainserviceCreateUserViewIPExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createUserViewIPRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateUserViewIPResponse* response = [[DomainserviceCreateUserViewIPResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteUserView sync request
@param deleteUserViewRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteUserViewResponse` the request response data model
*/
-(NSDictionary*) deleteUserViewSyncWithRequest:(DomainserviceDeleteUserViewRequest*) deleteUserViewRequest
{
DomainserviceDeleteUserViewExecutor* excutor = [[DomainserviceDeleteUserViewExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteUserViewRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteUserViewResponse* response = [[DomainserviceDeleteUserViewResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteUserViewResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteUserViewAsyncWithRequest:(DomainserviceDeleteUserViewRequest*) deleteUserViewRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDeleteUserViewResponse* _Nullable deleteUserViewResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDeleteUserViewExecutor* excutor = [[DomainserviceDeleteUserViewExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteUserViewRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteUserViewResponse* response = [[DomainserviceDeleteUserViewResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
modifyMonitor sync request
@param modifyMonitorRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `modifyMonitorResponse` the request response data model
*/
-(NSDictionary*) modifyMonitorSyncWithRequest:(DomainserviceModifyMonitorRequest*) modifyMonitorRequest
{
DomainserviceModifyMonitorExecutor* excutor = [[DomainserviceModifyMonitorExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:modifyMonitorRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyMonitorResponse* response = [[DomainserviceModifyMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"modifyMonitorResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)modifyMonitorAsyncWithRequest:(DomainserviceModifyMonitorRequest*) modifyMonitorRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceModifyMonitorResponse* _Nullable modifyMonitorResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceModifyMonitorExecutor* excutor = [[DomainserviceModifyMonitorExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:modifyMonitorRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceModifyMonitorResponse* response = [[DomainserviceModifyMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeResourceRecord sync request
@param describeResourceRecordRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeResourceRecordResponse` the request response data model
*/
-(NSDictionary*) describeResourceRecordSyncWithRequest:(DomainserviceDescribeResourceRecordRequest*) describeResourceRecordRequest
{
DomainserviceDescribeResourceRecordExecutor* excutor = [[DomainserviceDescribeResourceRecordExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeResourceRecordRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeResourceRecordResponse* response = [[DomainserviceDescribeResourceRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeResourceRecordResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeResourceRecordAsyncWithRequest:(DomainserviceDescribeResourceRecordRequest*) describeResourceRecordRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeResourceRecordResponse* _Nullable describeResourceRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeResourceRecordExecutor* excutor = [[DomainserviceDescribeResourceRecordExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeResourceRecordRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeResourceRecordResponse* response = [[DomainserviceDescribeResourceRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeUserView sync request
@param describeUserViewRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeUserViewResponse` the request response data model
*/
-(NSDictionary*) describeUserViewSyncWithRequest:(DomainserviceDescribeUserViewRequest*) describeUserViewRequest
{
DomainserviceDescribeUserViewExecutor* excutor = [[DomainserviceDescribeUserViewExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeUserViewRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeUserViewResponse* response = [[DomainserviceDescribeUserViewResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeUserViewResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeUserViewAsyncWithRequest:(DomainserviceDescribeUserViewRequest*) describeUserViewRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeUserViewResponse* _Nullable describeUserViewResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeUserViewExecutor* excutor = [[DomainserviceDescribeUserViewExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeUserViewRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeUserViewResponse* response = [[DomainserviceDescribeUserViewResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeMonitorAlarm sync request
@param describeMonitorAlarmRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeMonitorAlarmResponse` the request response data model
*/
-(NSDictionary*) describeMonitorAlarmSyncWithRequest:(DomainserviceDescribeMonitorAlarmRequest*) describeMonitorAlarmRequest
{
DomainserviceDescribeMonitorAlarmExecutor* excutor = [[DomainserviceDescribeMonitorAlarmExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeMonitorAlarmRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeMonitorAlarmResponse* response = [[DomainserviceDescribeMonitorAlarmResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeMonitorAlarmResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeMonitorAlarmAsyncWithRequest:(DomainserviceDescribeMonitorAlarmRequest*) describeMonitorAlarmRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeMonitorAlarmResponse* _Nullable describeMonitorAlarmResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeMonitorAlarmExecutor* excutor = [[DomainserviceDescribeMonitorAlarmExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeMonitorAlarmRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeMonitorAlarmResponse* response = [[DomainserviceDescribeMonitorAlarmResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
createUserView sync request
@param createUserViewRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `createUserViewResponse` the request response data model
*/
-(NSDictionary*) createUserViewSyncWithRequest:(DomainserviceCreateUserViewRequest*) createUserViewRequest
{
DomainserviceCreateUserViewExecutor* excutor = [[DomainserviceCreateUserViewExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:createUserViewRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateUserViewResponse* response = [[DomainserviceCreateUserViewResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"createUserViewResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)createUserViewAsyncWithRequest:(DomainserviceCreateUserViewRequest*) createUserViewRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceCreateUserViewResponse* _Nullable createUserViewResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceCreateUserViewExecutor* excutor = [[DomainserviceCreateUserViewExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:createUserViewRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceCreateUserViewResponse* response = [[DomainserviceCreateUserViewResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeViewTree sync request
@param describeViewTreeRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeViewTreeResponse` the request response data model
*/
-(NSDictionary*) describeViewTreeSyncWithRequest:(DomainserviceDescribeViewTreeRequest*) describeViewTreeRequest
{
DomainserviceDescribeViewTreeExecutor* excutor = [[DomainserviceDescribeViewTreeExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeViewTreeRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeViewTreeResponse* response = [[DomainserviceDescribeViewTreeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeViewTreeResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeViewTreeAsyncWithRequest:(DomainserviceDescribeViewTreeRequest*) describeViewTreeRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeViewTreeResponse* _Nullable describeViewTreeResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeViewTreeExecutor* excutor = [[DomainserviceDescribeViewTreeExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeViewTreeRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeViewTreeResponse* response = [[DomainserviceDescribeViewTreeResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteResourceRecord sync request
@param deleteResourceRecordRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteResourceRecordResponse` the request response data model
*/
-(NSDictionary*) deleteResourceRecordSyncWithRequest:(DomainserviceDeleteResourceRecordRequest*) deleteResourceRecordRequest
{
DomainserviceDeleteResourceRecordExecutor* excutor = [[DomainserviceDeleteResourceRecordExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteResourceRecordRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteResourceRecordResponse* response = [[DomainserviceDeleteResourceRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteResourceRecordResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteResourceRecordAsyncWithRequest:(DomainserviceDeleteResourceRecordRequest*) deleteResourceRecordRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDeleteResourceRecordResponse* _Nullable deleteResourceRecordResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDeleteResourceRecordExecutor* excutor = [[DomainserviceDeleteResourceRecordExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteResourceRecordRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteResourceRecordResponse* response = [[DomainserviceDeleteResourceRecordResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
describeMonitor sync request
@param describeMonitorRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `describeMonitorResponse` the request response data model
*/
-(NSDictionary*) describeMonitorSyncWithRequest:(DomainserviceDescribeMonitorRequest*) describeMonitorRequest
{
DomainserviceDescribeMonitorExecutor* excutor = [[DomainserviceDescribeMonitorExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:describeMonitorRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeMonitorResponse* response = [[DomainserviceDescribeMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"describeMonitorResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)describeMonitorAsyncWithRequest:(DomainserviceDescribeMonitorRequest*) describeMonitorRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDescribeMonitorResponse* _Nullable describeMonitorResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDescribeMonitorExecutor* excutor = [[DomainserviceDescribeMonitorExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:describeMonitorRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDescribeMonitorResponse* response = [[DomainserviceDescribeMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteMonitor sync request
@param deleteMonitorRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteMonitorResponse` the request response data model
*/
-(NSDictionary*) deleteMonitorSyncWithRequest:(DomainserviceDeleteMonitorRequest*) deleteMonitorRequest
{
DomainserviceDeleteMonitorExecutor* excutor = [[DomainserviceDeleteMonitorExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteMonitorRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteMonitorResponse* response = [[DomainserviceDeleteMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteMonitorResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteMonitorAsyncWithRequest:(DomainserviceDeleteMonitorRequest*) deleteMonitorRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDeleteMonitorResponse* _Nullable deleteMonitorResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDeleteMonitorExecutor* excutor = [[DomainserviceDeleteMonitorExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteMonitorRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteMonitorResponse* response = [[DomainserviceDeleteMonitorResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}

/**
deleteDomain sync request
@param deleteDomainRequest request param
@return key `statusCode` http request status code type is int
            `dataResult` the http request response data  type is NSData
            `requestError` the request error type is NSError
            `deleteDomainResponse` the request response data model
*/
-(NSDictionary*) deleteDomainSyncWithRequest:(DomainserviceDeleteDomainRequest*) deleteDomainRequest
{
DomainserviceDeleteDomainExecutor* excutor = [[DomainserviceDeleteDomainExecutor alloc] initWithJDCloudClient:self];
    NSDictionary* responseResult = [excutor executeSync:deleteDomainRequest];
    if(responseResult)
    {
        NSData * resultData = [[responseResult objectForKey:@"dataResult"] copy];
        if(resultData)
        {
            NSMutableDictionary* result = [[NSMutableDictionary alloc]initWithDictionary:responseResult];
            
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteDomainResponse* response = [[DomainserviceDeleteDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        [result setValue:response forKey:@"deleteDomainResponse"];
                        return result;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
    }
    return responseResult;
}


-(void)deleteDomainAsyncWithRequest:(DomainserviceDeleteDomainRequest*) deleteDomainRequest
                       completionHandler:(void(^)(int statusCode,DomainserviceDeleteDomainResponse* _Nullable deleteDomainResponse, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
DomainserviceDeleteDomainExecutor* excutor = [[DomainserviceDeleteDomainExecutor alloc] initWithJDCloudClient:self];
    [excutor executeAsync:deleteDomainRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        if(!error&&responseData)
        {
            NSData * resultData = [responseData copy];
            NSError *jsonError;
            NSDictionary* allKeys = [NSJSONSerialization JSONObjectWithData:resultData options:0 error:&jsonError];
            if(!jsonError&& allKeys)
            {
                @try {
                    DomainserviceDeleteDomainResponse* response = [[DomainserviceDeleteDomainResponse alloc]initWithDic:allKeys];
                    if(response)
                    {
                        completionHandler(statusCode,response,responseData,error);
                        return;
                    }
                } @catch (NSException *exception) {
                    if([GlobalConfig isDebug]){
                        NSLog(@"json serialize response data error,info is %@",exception.reason);
                    }
                }
            }
        }
        completionHandler(statusCode,nil,responseData,error);
    }];
}


 /**
 domainservice common sync request
 @param  jdcloudDataRequest request param
 @return key `statusCode` http request status code type is int
             `dataResult` the http request response data  type is NSData
             `requestError` the request error type is NSError
 */
 -(NSDictionary*) domainserviceCommonSyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                                   url:(NSString*) url
                                                method:(NSString*) method{
    CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    NSDictionary* responseResult = [excutor executeDataSync:jdcloudDataRequest];
    return responseResult;
}

-(void)domainserviceCommonAsyncWithRequest:(JDCloudDataRequest*) jdcloudDataRequest
                                         url:(NSString*) url
                                      method:(NSString*) method
                           completionHandler:(void(^)(int statusCode, NSData* _Nullable responseData,NSError * _Nullable error))completionHandler
{
     CommonExecutor* excutor = [[CommonExecutor alloc] initWithJDCloudClient:self url:url method:method];
    
    [excutor executeDataAsync:jdcloudDataRequest completionHandler:^(int statusCode, NSData * _Nullable responseData, NSError * _Nullable error) {
        completionHandler(statusCode,responseData,error);
    }];
} 

@end
